diff --git a/system/libraries/Loader.php b/system/libraries/Loader.php
index 452e39d..dc588bb 100644
--- a/system/libraries/Loader.php
+++ b/system/libraries/Loader.php
@@ -30,12 +30,13 @@
 
 	var $CI;
 	var $ob_level;
+	var $view_path		= '';
 	var $cached_vars	= array();
 	var $models			= array();
 	var $helpers		= array();
 	var $plugins		= array();
 	var $scripts		= array();
-	var $view_path		= '';
+	var $varmap			= array('unit_test' => 'unit', 'user_agent' => 'agent');
 
 	/**
 	 * Constructor
@@ -665,6 +666,7 @@
 	function _ci_init_class($class, $prefix = '', $varname = NULL)
 	{	
 		// Is there an associated config file for this class?
+		$config = NULL;
 		if (file_exists(APPPATH.'config/'.$class.EXT))
 		{
 			include_once(APPPATH.'config/'.$class.EXT);
@@ -678,9 +680,17 @@
 		{
 			$name = $prefix.$class;
 		}
-						
-		$classvar = ( ! is_null($varname)) ? $varname : strtolower($class);
 		
+		// Set the variable name we will assign the class to
+		if ( ! is_null($varname)) 
+		{
+			$classvar = $varname;
+		}
+		else
+		{
+			$class = strtolower($class);			
+			$classvar = ( ! isset($this->varmap[$class])) ? $class : $this->varmap[$class];
+		}
 		
 		// Instantiate the class
 		if ($config !== NULL)
diff --git a/system/libraries/User_agent.php b/system/libraries/User_agent.php
index 39e1232..11c2baa 100644
--- a/system/libraries/User_agent.php
+++ b/system/libraries/User_agent.php
@@ -37,12 +37,16 @@
 	var $languages	= array();
 	var $charsets	= array();
 	
+	var $platforms	= array();
+	var $browsers	= array();
+	var $mobiles	= array();
+	var $robots		= array();
+	
 	var $platform	= '';
 	var $browser	= '';
 	var $version	= '';
 	var $moble		= '';
 	var $robot		= '';
-
 	
 	/**
 	 * Constructor
@@ -66,8 +70,9 @@
 				$this->_compile_data();
 			}
 		}
+		
+		log_message('debug', "Table Class Initialized");
 	}
-
 	
 	// --------------------------------------------------------------------
 	
@@ -79,7 +84,7 @@
 	 */		
 	function _load_agent_file()
 	{
-		if ( ! @include(APPPATH.'config/user_agent'.EXT))
+		if ( ! @include(APPPATH.'config/user_agents'.EXT))
 		{
 			return FALSE;
 		}
@@ -102,7 +107,7 @@
 
 		if (isset($mobiles))
 		{
-			$this->browsers = $mobiles;
+			$this->mobiles = $mobiles;
 			unset($mobiles);
 			$return = TRUE;
 		}
@@ -344,7 +349,7 @@
 	 * @access	public
 	 * @return	string
 	 */			
-	function agent()
+	function agent_string()
 	{
 		return $this->agent;
 	}
